Основные составляющие смарт-карт - это центральный процессор, ОЗУ, ПЗУ, EPROM (ППЗУ - память, которая может быть прочитана много раз, но записывается однократно. Как правило, организация, эмитировавшая карточку, записывает в ПЗУ данные о ее владельце), EEPROM (ЭСППЗУ - память, которая может быть перезаписана и считана многократно: здесь хранятся регулярно изменяемые данные), система обмена данными с внешними устройствами, операционная система и встроенная система защиты данных.
В стандарте ISO 7816 (части 1-7), утвержденном Международной организацией по стандартизации (International Standard Organization, ISO), определяются правила, регулирующие самые различные аспекты, связанные со смарт-картами. Стандарт ISO 7816 состоит из следующих разделов:
На рис. 1 представлены физические характеристики смарт-карт, определенные в первой части стандарта ISO 7816.
У смарт-карт нет источника питания, дисплея и клавиатуры. Взаимодействие с окружающим миром производится с помощью последовательного коммуникационного интерфейса, имеющего восемь контактов. Расположение и размеры контактов описываются во второй части стандарта ISO 7816. На рис. 2 показаны контакты смарт-карты.
Рис. 2. Восемь контактов смарт-карты
Смарт-карта вставляется в приемное устройство (Card Acceptance Device, CAD), которое соединяется с компьютером. Кроме того, в состав приемного устройства может входить терминал, считыватель и интерфейсный механизм (interface device, IFD). В числе его основных функций - обеспечение смарт-карты энергией и установление соединения для обмена данными.
В процессе взаимодействия два компьютера обмениваются пакетами данных, которые создаются на основе определенного набора протоколов. Смарт-карты общаются с окружающим миром при помощи собственных пакетов данных, которые называются APDU (Application Protocol Data Units). Пакеты APDU содержат либо команду, либо ответное сообщение. Технология смарт-карт моделирует широко известный интерфейс "ведущий-ведомый" (master-slave), в котором самой смарт-карте отводится пассивная роль. Другими словами, смарт-карта всегда ждет от терминала команду APDU. Затем она выполняет указанное действие и посылает терминалу ответный пакет, подтверждающий выполнение команды. Между картой и терминалом происходит непрерывный обмен пакетами APDU, содержащими команды и ответы на них.
Структура пакета APDU описана в четвертой части стандарта ISO 7816. Таблицы 1 и 2 иллюстрируют форматы пакетов APDU, содержащих команды и ответы.
Табл. 1. Команда APDU
Обязательный заголовок | Условное тело команды | |||||
CLA | INS | P1 | P2 | Lc | Поле данных | Le |
В заголовке кодируется выбранная команда. Она состоит из четырех полей: класс (CLA), инструкция (INS), параметр 1 и параметр 2 (P1 и P2). Каждое поле имеет размер 1 байт.
В поле Lc размещается количество байтов в поле данных команды APDU.
В поле Le заносится максимальное количество байтов, которое может находиться в поле данных ответного APDU.
Табл. 2. Ответ на команду APDU
Условное тело ответа | Обязательная концевая часть | |
Поле данных | SW1 | SW2 |
Байты состояния SW1 и SW2 обозначают статус обработки картой команды
APDU.